Before data are transmitted over a communications channel to a receiver or a data storage device, that data are typically encoded to allow for error detection and/or correction. The error correction/detection encoding manipulates the data in accordance with a distance d error correction (“ECC”), to produce ECC codewords that include the data and associated redundancy information. To decode the data and associated redundancy information from received or retrieved signals, the decoder first recovers the bits and then groups the bits into symbols or sequences of appropriate length for the ECC, and thus, reproduces the ECC codewords. The system next decodes the ECC codewords using the ECC to produce, if possible, error-free data. Typically, an (n, k) distance d Reed Solomon ECC is used to encode data that are to be stored for later retrieval, and the ECC decoder is an on-the-fly hardware decoder that detects and corrects up to “t” errors using 2t=n−k redundancy symbols, where the minimum distance is Dmin=2t+1.
When a sector of a storage medium is “marginal,” such that retrieval of the data stored therein is impaired by, for example, a defect in the medium or a degradation of the signal that represents the data, the system may determine that the stored data contains more errors than the ECC can correct. The system then tries to recover the data through error recovery operations. Generally, the error recovery operations involve up to a predetermined number of sector re-reads in which the error correction operations are performed independently for the respective re-reads.
The error recovery operations may include re-reading the sector with the head at various off-track positions, with an increased bias current, using modified filter responses, and so forth, to improve the quality of the readback signal. However, such attempts may not recover the data such that the number of errors included therein is within the correction capability of the ECC.
Another error recovery technique referred to as “majority detection” is described in United States Patent Application Publication US 2005/0262423 entitled Majority Detection In Error Recovery, which has a common assignee and is incorporated herein in its entirety by reference. Using majority detection, the system keeps track of the respective bits for multiple re-reads and determines, that is, votes, which bits are likely to be 1's based no the values of the recovered bit signals in each of the re-reads. A bit signal that is detected as a 1 in more than, for example, one-half of the re-reads, is “voted” as a 1. Otherwise, the bit is voted as a 0. The results of the voting are used to reconstruct the ECC codeword, which is then presented to the ECC decoder.
While the majority detection operations work well, and significantly increase the likelihood that the data are recovered from the marginal sector, the operations are constrained by the error detection/correction capability of the ECC. To further increase the likelihood of data recovery, the system could include more redundancy in the stored ECC codewords, however, fewer information symbols could then be included in the sector. Further, such a system would have to be more complex, to operate with the more powerful ECCs.